Para dominar verdaderamente Git, uno debe mirar más allá de la superficie amigable con el usuario de Pulido comandos para comprender el Sistema de tuberías—el motor de bajo nivel que gestiona la base de datos interna de objetos de Git. Esta base de datos es un sistema de archivos con direccionamiento por contenido donde cada pieza de datos se almacena como un objeto inmutable.
1. Pulido frente a Sistema de tuberías
Pulido se refiere a comandos de alto nivel (como git status) diseñados para la interacción humana. Sistema de tuberías se refiere a comandos de bajo nivel que manipulan directamente la base de datos de objetos de Git, proporcionándonos acceso a la representación interna real de Git.
2. La Base de Datos de Objetos
Git funciona como una tienda clave-valor dentro del directorio .git/objects directorio, que alberga objetos internos: blobs, árboles, confirmaciones, y etiquetas. Las ramas, aunque a menudo se discuten junto con los objetos, sirven como referencias a estas confirmaciones.
3. Dirección mediante SHA-1
Cada objeto tiene un nombre único basado en un resumen hexadecimal SHA-1 de 40 caracteres. Git optimiza el almacenamiento usando los dos primeros caracteres como nombre de subdirectorio (por ejemplo, af/) y los 38 restantes como nombre de archivo.